home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / c / cujoct93.zip / 1110057A < prev    next >
Text File  |  1993-07-14  |  869b  |  41 lines

  1. // This class takes care of the
  2. // mechanism behind variable length
  3. // strings
  4. class VarString
  5. {
  6. private:
  7.   enum{ALLOCINC=32};
  8.   char *a;
  9.   int len;
  10.   int allocated;
  11.   int allocinc;
  12.   inline void grow(int n= 0);
  13.  
  14. public:
  15.   line VarString(int n= ALLOCINC);
  16.   inline VarString(const VarString& n);
  17.   inline VarString(const char *);
  18.   inline VarString(const char* s, int n);
  19.   inline VarString(char);
  20.  
  21.   ~VarString(){delete [] a;}
  22.  
  23.   VarString& operator=(const VarString& n);
  24.   VarString& operator=(const char *);
  25.  
  26.   inline const char operator[](const int i) const;
  27.   inline char& operator[](const int i);
  28.  
  29.   operator const char *() const{ return a; }
  30.  
  31.   int length(void) const{ return len; }
  32.  
  33.   void add(char);
  34.   void add(const char *);
  35.   void add(int, const char *);
  36.   void remove(int, int= 1);
  37.  
  38.   void erase(void){ len= 0; }
  39. };
  40.  
  41.